package tk.mystudio.idc.pojo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "idcbusiness")
public class IdcBusiness implements Serializable {

	private static final long serialVersionUID = 8396701900165569308L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id")
	private Integer id;

	/**
	 * 受理编号（分为新用户和续费用户）
	 */
	@Column(name = "business_no")
	private String businessNo;

	/**
	 * 受理类型(1新用户 2续费用户)
	 */
	@Column(name = "business_type")
	private Integer businessType;
	/**
	 * 发票编号
	 */
	@Column(name = "invoice_no")
	private String invoiceNo;

	/**
	 * 受理项目(用位表示).1表示选中,2表示未选中.从低位到高位依次表示:其他、Y域名申请、G固定IP租用、Q企业邮箱、X虚拟主机、Z主机托管、
	 * F服务器租用
	 */
	@Column(name = "processing_items")
	private Integer processingItems;

	/**
	 * 用户名称
	 */
	@Column(name = "user_name")
	private String userName;

	/**
	 * 用户名称(英文)
	 */
	@Column(name = "user_name_en")
	private String userNameEn;

	/**
	 * 用户地址
	 */
	@Column(name = "user_address")
	private String userAddress;

	/**
	 * 用户地址(英文)
	 */
	@Column(name = "user_address_en")
	private String userAddressEn;

	/**
	 * 邮政编码
	 */
	@Column(name = "user_zip")
	private String userZip;

	/**
	 * 企业法人姓名
	 */
	@Column(name = "legal_name")
	private String legalName;

	/**
	 * 法人电话
	 */
	@Column(name = "legal_tel")
	private String legalTel;

	/**
	 * 法人传真
	 */
	@Column(name = "legal_fax")
	private String legalFax;

	/**
	 * 法人email
	 */
	@Column(name = "legal_email")
	private String legalEmail;

	/**
	 * 业务联系人名称
	 */
	@Column(name = "business_contact_name")
	private String businessContactName;

	/**
	 * 业务联系人电话
	 */
	@Column(name = "business_contact_tel")
	private String businessContactTel;

	/**
	 * 业务联系人传真
	 */
	@Column(name = "business_contact_fax")
	private String businessContactFax;

	/**
	 * 业务联系人身份证
	 */
	@Column(name = "business_contact_id")
	private String businessContactId;

	/**
	 * 技术联系人名称
	 */
	@Column(name = "tech_contact_name")
	private String techContactName;

	/**
	 * 技术联系人电话
	 */
	@Column(name = "tech_contact_tel")
	private String techContactTel;

	/**
	 * 技术联系人传真
	 */
	@Column(name = "tech_contact_fax")
	private String techContactFax;

	/**
	 * 技术联系人email
	 */
	@Column(name = "tech_contact_email")
	private String techContactEmail;

	/**
	 * 费用
	 */
	@Column(name = "amount")
	private Double amount;

	/**
	 * 付费方式(用位表示).1表示选中、0表示未选中。从低位到高位依次表示 ：银行转账、支票、现金
	 */
	@Column(name = "pay_way")
	private Integer payWay;

	/**
	 * 服务开始时间
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "service_start_time")
	private Date serviceStartTime;

	/**
	 * 服务结束时间
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "service_expire_time")
	private Date serviceExpireTime;

	/**
	 * 客户域名
	 */
	@Column(name = "customer_domain")
	private String customerDomain;

	/**
	 * 域名期限
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "domain_expire_time")
	private Date domainExpireTime;

	/**
	 * 主页空间大小 (单位M)
	 */
	@Column(name = "space_size")
	private Integer spaceSize;

	/**
	 * ip地址
	 */
	@Column(name = "ip_address")
	private String ipAddress;

	/**
	 * FTP用户名
	 */
	@Column(name = "ftp_name")
	private String ftpName;

	/**
	 * ftp密码
	 */
	@Column(name = "ftp_password")
	private String ftpPassword;

	/**
	 * 应用支持类型(用位表)。从低位到高位依次表示：PERL、PHP 、JSP 、 ASP.NET、ASP
	 */
	@Column(name = "supported_service_type")
	private Integer supportedServiceType;

	/**
	 * 数据库空间大小(单位M)
	 */
	@Column(name = "database_space")
	private Integer databaseSpace;

	/**
	 * 数据库类型
	 */
	@Column(name = "database_type")
	private Integer databaseType;

	/**
	 * 企业邮箱大小(M)
	 */
	@Column(name = "company_email_space")
	private Integer companyEmailSpace;

	/**
	 * 企业邮箱个数
	 */
	@Column(name = "company_email_count")
	private Integer companyEmailCount;

	/**
	 * 企业邮箱名称
	 */
	@Column(name = "company_email_name")
	private String companyEmailName;

	/**
	 * 主机类型:1、主机托管 2、服务器租用
	 */
	@Column(name = "server_type")
	private Integer serverType;

	/**
	 * 服务器配置
	 */
	@Column(name = "server_deploy")
	private String serverDeploy;

	/**
	 * 服务器台数
	 */
	@Column(name = "server_count")
	private Integer serverCount;

	/**
	 * 服务器网络设备
	 */
	@Column(name = "server_network")
	private String serverNetwork;

	/**
	 * 带宽(单位M)
	 */
	@Column(name = "bandwidth")
	private Integer bandwidth;

	/**
	 * 带宽类型(1、共享 2、独享)
	 */
	@Column(name = "bandwidth_type")
	private Integer bandwidthType;

	/**
	 * 客户业务主要用途和信息内容
	 */
	@Column(name = "main_purpose_info")
	private String mainPurposeInfo;

	/**
	 * 备案情况
	 */
	@Column(name = "record_cases")
	private String recordCcases;

	/**
	 * 其 它 服 务 及 备 注
	 */
	@Column(name = "others")
	private String others;

	/**
	 * 业务主管部门意见
	 */
	@Column(name = "business_dept_suggestion")
	private String businessDeptSuggestion;

	/**
	 * 网络保障部门意见
	 */
	@Column(name = "net_security_dept_suggestion")
	private String netSecurityDeptSuggestion;

	/**
	 * 受理项目
	 */
	@Column(name = "processing_items_discription")
	private String processingItemsDiscription;

	/**
	 * idc业务处理状态:1、新建 2、营业员提交 3、营业组长审批通过 4、营业组长审批打回 5、实施人员审批通过 6、实施人员审批打回
	 * 7、实施组长审批通过 8、实施组长审批打回
	 */
	@Column(name = "status")
	private Integer status;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getBusinessNo() {
		return businessNo;
	}

	public void setBusinessNo(String businessNo) {
		this.businessNo = businessNo;
	}

	public String getInvoiceNo() {
		return invoiceNo;
	}

	public void setInvoiceNo(String invoiceNo) {
		this.invoiceNo = invoiceNo;
	}

	public Integer getProcessingItems() {
		return processingItems;
	}

	public void setProcessingItems(Integer processingItems) {
		this.processingItems = processingItems;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserNameEn() {
		return userNameEn;
	}

	public void setUserNameEn(String userNameEn) {
		this.userNameEn = userNameEn;
	}

	public String getUserAddress() {
		return userAddress;
	}

	public void setUserAddress(String userAddress) {
		this.userAddress = userAddress;
	}

	public String getUserAddressEn() {
		return userAddressEn;
	}

	public void setUserAddressEn(String userAddressEn) {
		this.userAddressEn = userAddressEn;
	}

	public String getUserZip() {
		return userZip;
	}

	public void setUserZip(String userZip) {
		this.userZip = userZip;
	}

	public String getLegalName() {
		return legalName;
	}

	public void setLegalName(String legalName) {
		this.legalName = legalName;
	}

	public String getLegalTel() {
		return legalTel;
	}

	public void setLegalTel(String legalTel) {
		this.legalTel = legalTel;
	}

	public String getLegalFax() {
		return legalFax;
	}

	public void setLegalFax(String legalFax) {
		this.legalFax = legalFax;
	}

	public String getLegalEmail() {
		return legalEmail;
	}

	public void setLegalEmail(String legalEmail) {
		this.legalEmail = legalEmail;
	}

	public String getBusinessContactName() {
		return businessContactName;
	}

	public void setBusinessContactName(String businessContactName) {
		this.businessContactName = businessContactName;
	}

	public String getBusinessContactTel() {
		return businessContactTel;
	}

	public void setBusinessContactTel(String businessContactTel) {
		this.businessContactTel = businessContactTel;
	}

	public String getBusinessContactFax() {
		return businessContactFax;
	}

	public void setBusinessContactFax(String businessContactFax) {
		this.businessContactFax = businessContactFax;
	}

	public String getBusinessContactId() {
		return businessContactId;
	}

	public void setBusinessContactId(String businessContactId) {
		this.businessContactId = businessContactId;
	}

	public String getTechContactName() {
		return techContactName;
	}

	public void setTechContactName(String techContactName) {
		this.techContactName = techContactName;
	}

	public String getTechContactTel() {
		return techContactTel;
	}

	public void setTechContactTel(String techContactTel) {
		this.techContactTel = techContactTel;
	}

	public String getTechContactFax() {
		return techContactFax;
	}

	public void setTechContactFax(String techContactFax) {
		this.techContactFax = techContactFax;
	}

	public String getTechContactEmail() {
		return techContactEmail;
	}

	public void setTechContactEmail(String techContactEmail) {
		this.techContactEmail = techContactEmail;
	}

	public Double getAmount() {
		return amount;
	}

	public void setAmount(Double amount) {
		this.amount = amount;
	}

	public Integer getPayWay() {
		return payWay;
	}

	public void setPayWay(Integer payWay) {
		this.payWay = payWay;
	}

	public Date getServiceStartTime() {
		return serviceStartTime;
	}

	public void setServiceStartTime(Date serviceStartTime) {
		this.serviceStartTime = serviceStartTime;
	}

	public Date getServiceExpireTime() {
		return serviceExpireTime;
	}

	public void setServiceExpireTime(Date serviceExpireTime) {
		this.serviceExpireTime = serviceExpireTime;
	}

	public String getCustomerDomain() {
		return customerDomain;
	}

	public void setCustomerDomain(String customerDomain) {
		this.customerDomain = customerDomain;
	}

	public Date getDomainExpireTime() {
		return domainExpireTime;
	}

	public void setDomainExpireTime(Date domainExpireTime) {
		this.domainExpireTime = domainExpireTime;
	}

	public Integer getSpaceSize() {
		return spaceSize;
	}

	public void setSpaceSize(Integer spaceSize) {
		this.spaceSize = spaceSize;
	}

	public String getIpAddress() {
		return ipAddress;
	}

	public void setIpAddress(String ipAddress) {
		this.ipAddress = ipAddress;
	}

	public String getFtpName() {
		return ftpName;
	}

	public void setFtpName(String ftpName) {
		this.ftpName = ftpName;
	}

	public String getFtpPassword() {
		return ftpPassword;
	}

	public void setFtpPassword(String ftpPassword) {
		this.ftpPassword = ftpPassword;
	}

	public Integer getSupportedServiceType() {
		return supportedServiceType;
	}

	public void setSupportedServiceType(Integer supportedServiceType) {
		this.supportedServiceType = supportedServiceType;
	}

	public Integer getDatabaseSpace() {
		return databaseSpace;
	}

	public void setDatabaseSpace(Integer databaseSpace) {
		this.databaseSpace = databaseSpace;
	}

	public Integer getDatabaseType() {
		return databaseType;
	}

	public void setDatabaseType(Integer databaseType) {
		this.databaseType = databaseType;
	}

	public Integer getCompanyEmailSpace() {
		return companyEmailSpace;
	}

	public void setCompanyEmailSpace(Integer companyEmailSpace) {
		this.companyEmailSpace = companyEmailSpace;
	}

	public Integer getCompanyEmailCount() {
		return companyEmailCount;
	}

	public void setCompanyEmailCount(Integer companyEmailCount) {
		this.companyEmailCount = companyEmailCount;
	}

	public String getCompanyEmailName() {
		return companyEmailName;
	}

	public void setCompanyEmailName(String companyEmailName) {
		this.companyEmailName = companyEmailName;
	}

	public Integer getServerType() {
		return serverType;
	}

	public void setServerType(Integer serverType) {
		this.serverType = serverType;
	}

	public String getServerDeploy() {
		return serverDeploy;
	}

	public void setServerDeploy(String serverDeploy) {
		this.serverDeploy = serverDeploy;
	}

	public Integer getServerCount() {
		return serverCount;
	}

	public void setServerCount(Integer serverCount) {
		this.serverCount = serverCount;
	}

	public String getServerNetwork() {
		return serverNetwork;
	}

	public void setServerNetwork(String serverNetwork) {
		this.serverNetwork = serverNetwork;
	}

	public Integer getBandwidth() {
		return bandwidth;
	}

	public void setBandwidth(Integer bandwidth) {
		this.bandwidth = bandwidth;
	}

	public Integer getBandwidthType() {
		return bandwidthType;
	}

	public void setBandwidthType(Integer bandwidthType) {
		this.bandwidthType = bandwidthType;
	}

	public String getMainPurposeInfo() {
		return mainPurposeInfo;
	}

	public void setMainPurposeInfo(String mainPurposeInfo) {
		this.mainPurposeInfo = mainPurposeInfo;
	}

	public String getRecordCcases() {
		return recordCcases;
	}

	public void setRecordCcases(String recordCcases) {
		this.recordCcases = recordCcases;
	}

	public String getOthers() {
		return others;
	}

	public void setOthers(String others) {
		this.others = others;
	}

	public String getBusinessDeptSuggestion() {
		return businessDeptSuggestion;
	}

	public void setBusinessDeptSuggestion(String businessDeptSuggestion) {
		this.businessDeptSuggestion = businessDeptSuggestion;
	}

	public String getNetSecurityDeptSuggestion() {
		return netSecurityDeptSuggestion;
	}

	public void setNetSecurityDeptSuggestion(String netSecurityDeptSuggestion) {
		this.netSecurityDeptSuggestion = netSecurityDeptSuggestion;
	}

	public String getProcessingItemsDiscription() {
		return processingItemsDiscription;
	}

	public void setProcessingItemsDiscription(String processingItemsDiscription) {
		this.processingItemsDiscription = processingItemsDiscription;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Integer getBusinessType() {
		return businessType;
	}

	public void setBusinessType(Integer businessType) {
		this.businessType = businessType;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("IdcBusiness [id=");
		builder.append(id);
		builder.append(", userName=");
		builder.append(userName);
		builder.append(", userNameEn=");
		builder.append(userNameEn);
		builder.append(", amount=");
		builder.append(amount);
		builder.append(", bandwidth=");
		builder.append(bandwidth);
		builder.append(", bandwidthType=");
		builder.append(bandwidthType);
		builder.append(", businessContactFax=");
		builder.append(businessContactFax);
		builder.append(", businessContactId=");
		builder.append(businessContactId);
		builder.append(", businessContactName=");
		builder.append(businessContactName);
		builder.append(", businessContactTel=");
		builder.append(businessContactTel);
		builder.append(", businessDeptSuggestion=");
		builder.append(businessDeptSuggestion);
		builder.append(", businessNo=");
		builder.append(businessNo);
		builder.append(", businessType=");
		builder.append(businessType);
		builder.append(", companyEmailCount=");
		builder.append(companyEmailCount);
		builder.append(", companyEmailName=");
		builder.append(companyEmailName);
		builder.append(", companyEmailSpace=");
		builder.append(companyEmailSpace);
		builder.append(", customerDomain=");
		builder.append(customerDomain);
		builder.append(", databaseSpace=");
		builder.append(databaseSpace);
		builder.append(", databaseType=");
		builder.append(databaseType);
		builder.append(", domainExpireTime=");
		builder.append(domainExpireTime);
		builder.append(", ftpName=");
		builder.append(ftpName);
		builder.append(", ftpPassword=");
		builder.append(ftpPassword);
		builder.append(", invoiceNo=");
		builder.append(invoiceNo);
		builder.append(", ipAddress=");
		builder.append(ipAddress);
		builder.append(", legalEmail=");
		builder.append(legalEmail);
		builder.append(", legalFax=");
		builder.append(legalFax);
		builder.append(", legalName=");
		builder.append(legalName);
		builder.append(", legalTel=");
		builder.append(legalTel);
		builder.append(", mainPurposeInfo=");
		builder.append(mainPurposeInfo);
		builder.append(", netSecurityDeptSuggestion=");
		builder.append(netSecurityDeptSuggestion);
		builder.append(", others=");
		builder.append(others);
		builder.append(", payWay=");
		builder.append(payWay);
		builder.append(", processingItems=");
		builder.append(processingItems);
		builder.append(", processingItemsDiscription=");
		builder.append(processingItemsDiscription);
		builder.append(", recordCcases=");
		builder.append(recordCcases);
		builder.append(", serverCount=");
		builder.append(serverCount);
		builder.append(", serverDeploy=");
		builder.append(serverDeploy);
		builder.append(", serverNetwork=");
		builder.append(serverNetwork);
		builder.append(", serverType=");
		builder.append(serverType);
		builder.append(", serviceExpireTime=");
		builder.append(serviceExpireTime);
		builder.append(", serviceStartTime=");
		builder.append(serviceStartTime);
		builder.append(", spaceSize=");
		builder.append(spaceSize);
		builder.append(", status=");
		builder.append(status);
		builder.append(", supportedServiceType=");
		builder.append(supportedServiceType);
		builder.append(", techContactEmail=");
		builder.append(techContactEmail);
		builder.append(", techContactFax=");
		builder.append(techContactFax);
		builder.append(", techContactName=");
		builder.append(techContactName);
		builder.append(", techContactTel=");
		builder.append(techContactTel);
		builder.append(", userAddress=");
		builder.append(userAddress);
		builder.append(", userAddressEn=");
		builder.append(userAddressEn);
		builder.append(", userZip=");
		builder.append(userZip);
		builder.append("]");
		return builder.toString();
	}

}
